package com.hzqy.service.core;

import java.io.Serializable;
import java.util.List;

import com.hzqy.persistence.dao.core.PersistenceDao;



/**
 * EntityService
 * @author <a href="mailto:qiuyp@aliyun.com">Joe.qiu</a>
 * @version 3.0
 * @since 2014-11-13下午6:07:08
 */
public abstract class EntityServiceBean<T, D extends PersistenceDao<T, PK>, PK extends Serializable> {
	public abstract D getEntityDao();
	
	public T find(PK id) {
		return getEntityDao().findById(id);
	}

	public List<T> findAll() {
		return getEntityDao().findAll();
	}
	
	public void insert(T o){
		this.getEntityDao().insert(o);
	}
	
	public void update(T o){
		this.getEntityDao().update(o);
	}

	public void delete(PK id) {
		getEntityDao().delete(id);
	}
	
	public List<T> findByIds(List<PK> ids) {
		return getEntityDao().findByIdList(ids);
	}
	
	public List<T> findByIds(PK[] ids) {
		return getEntityDao().findByIds(ids);
	}
}
